In Microsoft COM, the components are described by their corresponding Type Libraries. Type libraries are binary files (.tlb, .dll or .exe files) that include information about types and objects exposed by an ActiveX (COM) application. A type library can contain any of the following:
By including the type library with OPC Data Client, the information about the objects in the library is made available to the users of the applications and programming tools.
All type libraries (those that are not embedded within other specific .dll or .exe files) in are located under the SDK\lib subdirectory in the product installation folder. Type libraries for 64-bit development are located under SDK\lib\x64. Note that the interface exposed by OPC Data Client (including the size of integer types) is the same, regardless whether it is for 32-bit or 64-bit development; there are just slight “formal” differences caused by the way the type libraries for 32-bit vs. 64-bit development are generated. Most development can simply use the 32-bit type libraries under the SDK\lib subdirectory.
Note that it is not strictly necessary to use type libraries for COM development. With late binding, it is possible to make use of the COM objects of OPC Data Client “as they are”. Type libraries are used mainly with early binding.
Whether or not to use the type libraries depends in part on the tool or language you are using. Some allow only late binding (e.g. VBScript), some may allow only early binding, and yet some allow both (e.g. VB6). When your tool allows both options, usually the early binding is better (for performance and type checking reasons), but there are also situations where late binding is still appropriate or necessary. Some of these situations have to do with particular “quirks” present in the tools.
For example, in order to assign atomic values (such as numbers or strings) to a State property of OPC Data Client objects, you will need to use late binding in VB6. This is because the property as declared as VARIANT, but VB6 treats it as Object, and does not allow the non-object values be stored into it with early binding.
As described earlier, COM components of OPC Data Client are actually created from .NET components, using COM interop tools from .NET Framework. For this reason, there is one COM type library for each assembly that contains the OPC Data Client components.
This means that following type libraries are available to you:
Type Library File |
Title |
Description |
OPC Labs Base Library |
Supporting types for OPC Data Client. |
|
OPC Labs Base Library Components |
Top-level components supporting OPC Data Client. |
|
OPC Labs Base Library Forms |
Contains fundamental and common classes for Windows Forms. |
|
OPC Labs EasyOPC “Classic” Library |
Contains classes that facilitate easy work with OPC Classic. |
|
OPC Labs EasyOPC “Classic” Components Library |
Top-level components for easy work with OPC Classic. |
|
OPC Labs EasyOPC “Classic” Core Library |
Contains classes that facilitate easy work with OPC Classic. |
|
OPC Labs EasyOPC Forms |
Contains classes that provide OPC-related (both “Classic and Unified Architecture) user interface. |
|
EasyOPC-UA Library |
Contains classes that facilitate easy work with OPC Unified Architecture. |
|
EasyOPC-UA Components Library |
Top-level components for easy work with OPC Unified Architecture. |
This documentation is for OPC Data Client version 2024.2. This is known as the external version of the product. The internal version number is 5.81, and that is also the version of the type libraries.
Each of these libraries is marked with an internal version number of the product, e.g. 5.81. Many COM tools (including e.g. the Visual Basic’s References dialog, or OleView), however, display the version number of a type library in a hexadecimal notation, but without giving any indication of it. This may lead to confusion, because e.g. for OPC Data Client internal version 5.81, the version gets displayed as 5.51 (a hexadecimal representation of the internal version). Be careful to interpret the version numbers correctly.